package com.amt.basic.model;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * 会员卡 详情参考文档
 */
@Data
public class MemberCard {

    @ApiModelProperty(value = "店铺pid", example = "1")
    private Long  pid;

    @ApiModelProperty(value = "用于排查接口问题，不作为业务过滤&查询字段", example = "1")
    private Integer source;

    @ApiModelProperty(value = "会员卡号", example = "1821564603")
    private String memberCode;


    @ApiModelProperty(value = "微盟用户wid，客户唯一标识", example = "1")
    private Long wid;

    @ApiModelProperty(value = "建议外部不要再使用该id，需要唯一标识一个客户，请使用微盟用户wid", example = "1")
    private Long  mid;

    @ApiModelProperty(value = "变更时间", example = "2023-02-23 ")
    private Long changeTime;

    @ApiModelProperty(value = "积分变更原因", example = "买东西")
    private String pointChangeReason;

    @ApiModelProperty(value = "变更积分（扣减时为负数）", example = "13")
    private Integer changePoint;

    @ApiModelProperty(value = "余额变更原因", example = "买东西")
    private String amountChangeReason;

    @ApiModelProperty(value = "变更余额（扣减时为负数）单位：分", example = "20")
    private Integer changeAmount;

    @ApiModelProperty(value = "1：积分；2：余额", example = "1")
    private Integer changeType;

    @ApiModelProperty(value = "积分流水id（不可使用）", example = "1")
    private Long pointLogId;

    @ApiModelProperty(value = "余额流水id（不可使用）", example = "1")
    private Long balanceLogId;

    @ApiModelProperty(value = "会员卡类型 0-通用卡", example = "1")
    private Integer type;

    @ApiModelProperty(value = "积分流水 ID（全局唯一），用于幂等处理，防止在消息回调超时或其他异常情况下消息重复推送导致积分的重复添加或扣减", example = "1")
    private Long pointLogTid;

    @ApiModelProperty(value = "余额流水 ID（全局唯一），用于幂等处理，防止在消息回调超时或其他异常情况下消息重复推送导致余额的重复添加或扣减。", example = "1")
    private Long balanceLogTid;

}
